<p id="f-222-about-this-book-md"></p>
<h1>About Go Generics 101</h1>

<p>Since version 1.18, Go has supported custom generics.</p>

<p>This book talks about the custom generics feature of Go programming language.
The content in this book includes:</p>

<ul>
<li>custom generic syntax,</li>
<li>type constraints and type parameters,</li>
<li>type arguments and type inference,</li>
<li>how to write valid custom generic code,</li>
<li>current implementation/design restrictions.</li>
</ul>

<p>A reader needs to be familiar with Go general programming to read this book.
In particular, readers of this book should be familiar with
<a href="https://go101.org/article/type-system-overview.html">Go type system</a>,
including Go built-in generics, which and Go custom generics are two different systems.</p>

<p>Currently, the book mainly focuses on the syntax of (and concepts in) custom generics.
More practical examples will be provided when I get more experiences of using custom generics.</p>

<h2>About GoTV</h2>

<p>During writing this book, the tool <a href="https://go101.org/apps-and-libs/gotv.html">GoTV</a>
is used to manage installations of multiple Go toolchain versions and check
the behavior differences between Go toolchain versions.</p>
